package com.example.mp.inject;

import com.baomidou.mybatisplus.core.injector.AbstractMethod;
import com.baomidou.mybatisplus.core.injector.AbstractSqlInjector;
import com.baomidou.mybatisplus.core.injector.methods.*;

import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

import static java.util.stream.Collectors.toList;

/**
 * @auther liujb
 * @date 2021/7/24-19:24
 */
public class MySqlInject  extends AbstractSqlInjector {


    public List<AbstractMethod> getMethodList(Class<?> mapperClass) {

        List<AbstractMethod> list= Stream.of(
                new DeleteAll()
                //必须要加入以下插件默认的方法，否则无法使用
                ,new Delete()
                ,new DeleteBatchByIds()
                ,new DeleteById()
                ,new DeleteByMap()
                ,new Insert()
                ,new SelectBatchByIds()
                ,new SelectById()
                ,new SelectByMap()
                ,new SelectCount()
                ,new SelectList()
                ,new SelectMaps()
                ,new SelectMapsPage()
                ,new SelectObjs()
                ,new SelectOne()
                ,new SelectPage()
                ,new Update()
                ,new UpdateById()
        ).collect(Collectors.toList());
        return list;
    }
}
